CC = g++

CCFLAGS= -Wall

all: myportmapper myrpcgen client server

myportmapper: Myportmapper.o ServerSocket.o Socket.o ClientSocket.o Helper.o 
	$(CC) $(CCFLAGS) $^ -o $@  

myrpcgen: myrpcgen.o
	$(CC) $(CCFLAGS) $^ -o $@ 

client: BICClientImpl.o  Myclnt.o Myxdr.o ClientSocket.o ServerSocket.o Socket.o BIC_clnt.o Helper.o 
	$(CC) $(CCFLAGS) $^ -o $@ 

server: BICServerImpl.o  Mysvc.o Myxdr.o ClientSocket.o ServerSocket.o Socket.o BIC_svc.o Helper.o 
	$(CC) $(CCFLAGS) $^ -o $@  

%.o : %.cpp
	$(CC) $(CCFLAGS) -c $<

%.o : %.c
	$(CC) $(CCFLAGS) -c $<

Myportmapper.o: ServerSocket.h Socket.h SocketException.h ClientSocket.h Info.h Helper.h

ServerSocket.o:ServerSocket.h SocketException.h Socket.h
Socket.o:Socket.h
ClientSocket.o:ClientSocket.h SocketException.h Socket.h

Myxdr.o: Myxdr.h 
Myclnt.o: Myclnt.h ClientSocket.h SocketException.h Helper.h
Mysvc.o : Mysvc.h ClientSocket.h ServerSocket.h SocketException.h Helper.h
Helper.o : Helper.h ClientSocket.h ServerSocket.h SocketException.h 

BIC_clnt.o : BIC.h
BIC_svc.o : BIC.h
BICClientImpl.o : BIC.h
BICServerImpl.o : BIC.h

clean:
	rm -rf *.o *.gcov *.gcda *gcno
	rm -f *~ *# .#*

clean-all : clean
	rm -f myportmapper myrpcgen client server
